Video processing and rendering has become a very popular application of computing technology. Customers now demand high quality video playback on their personal computers, and as internet-connected mobile devices become increasingly common, desire video playback on these mobile devices as well. The computing power of mobile devices is much more tightly constrained by factors such as cost, size, and power dissipation than that of personal computers, necessitating an efficient use of resources for a high performance application such as video playback. Multiple processor (multiprocessor) algorithms are commonly used to improve efficiency in high performance processing tasks. However, the efficiency improvement of a multiprocessor algorithm depends greatly on the effectiveness of the algorithm and the appropriateness of the task at hand for multiprocessing.